package com.chb.dao;

import com.chb.model.vo.InventoryDataVo;
import com.chb.model.vo.InventoryGoodsVo;
import com.chb.model.vo.InventoryVo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author ：njh
 * @date ：Created in 2023/10/10 10:57
 * @description：盘点dao
 * @modified By：
 * @version:
 */
public interface InventoryDao {
    /**
     * 添加盘点信息
     **/
    public Integer addInventory(@Param("staffid") Integer staffid, @Param("branchid") Integer branchid);

    /**
     * 查找最后一次自增的id
     **/
    public Integer lastInsertId();

    /**
     * 添加盘点商品详细信息
     **/
    public Integer addInventoryGoods(@Param("list") List<InventoryVo> inventoryVoList);

    /**
     * 根据分店id查盘点信息内是否有state值为：1的数据
     **/
    public Integer checkState(Integer branchid);

    /**
     * 查询所有的盘点信息
     **/
    public List<InventoryDataVo> findAllInventory();

    /**
     * 查询所有通过审核的盘点信息
     **/
    public List<InventoryDataVo> findAllInventory(Integer state);

    /**
     * 查询所有通过审核的盘点信息
     **/
    public List<InventoryDataVo> findAllInventory(@Param("starttime") String starttime, @Param("endtime") String endtime, @Param("branchid") Integer branchid, @Param("state") Integer state);

    /**
     * 根据条件查询相应的盘点信息
     **/
    public List<InventoryDataVo> searchInventoryByBranchId(@Param("starttime") String starttime, @Param("endtime") String endtime, @Param("branchid") Integer branchid, @Param("state") Integer state);

    /**
     * 根据盘点id查询盘点的商品信息
     **/
    public List<InventoryGoodsVo> findInventoryGoodsByInventoryID(Integer invenid);

    /**
     * 审核不通过，添加驳回信息
     **/
    public Integer addReject(InventoryDataVo inventoryDataVo);

    /**
     * 审核通过，更新审核信息
     **/
    public Integer addPass(InventoryDataVo inventoryDataVo);

    /**
     * 审核通过，更新商品数量
     **/
    public Integer updPassCount(InventoryGoodsVo inventoryGoodsVo);


}